export function findLevel(data, targetName, level = 1) {
    for (const item of data) {
      if (item.name === targetName) {
        return level;
      }
      if (item.children) {
        const result = findLevel(item.children, targetName, level + 1);
        if (result !== null) {
          return result;
        }
      }
    }
    return null;
}

export function setCheckedById(arr, targetId) {
  for (let item of arr) {
    // 如果当前项的 id 与目标 id 相同
    if (item.name === targetId) {
        // 切换当前项的 checked 属性
        item.checked = !item.checked;
        if (item.children) { // 还需要递归遍历子项
          setCheckedById(item.children, targetId);
        }
    } else {
        // 如果当前项有子菜单，递归调用切换函数
        if (item.children) {
          setCheckedById(item.children, targetId);
        }
        // 将其他项的 checked 属性都设置为 false
        item.checked = false;
    }
}
return arr;
}


export function addNumField(data, level = 1) {
    return (data || []).map(item => {
      const newItem = { ...item, num: level, checked: false }; // 创建一个新的对象，并添加 num 字段
      if (item.children) {
        newItem.children = addNumField(item.children, level + 1); // 递归处理 children
      }

      return newItem;
    });
}
  